import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
/**
 * 描述：确认弹框提示服务
 * 公司：xxx有限公司
 * 版权：xxx2020
 * 作者：oyjl
 * 时间：2020-04-28 16:44:55
 */
export class ConfirmDialogService {

  public headText: string; // 头部文本
  public contentText: string; // 主体内容文本
  public contentIcon: string; // 主体内容图标
  public accept: () => void; // 确认回调函数
  public showConfirmDialog: boolean; // 显示弹框
  public type: string; // 弹框类型,success,warn,info,error
  constructor() { }

  /**
   * 描述：确认框配置
   * 作者：oyjl
   * 时间：2020-04-28 17:00:20
   */
  public confirm(data: ConfirmDialog) {
    this.headText = data.headText;
    this.contentText = data.contentText;
    this.contentIcon = data.contentIcon;
    this.accept = data.accept;
    this.type = data.type;
    this.showConfirmDialog = true;
  }

  /**
   * 描述：确认框打开
   * 作者：oyjl
   * 时间：2020-04-28 17:00:58
   */
  public open() {
    this.showConfirmDialog = true;
  }

  /**
   * 描述：确认框关闭
   * 作者：oyjl
   * 时间：2020-04-28 17:01:52
   */
  public close() {
    this.showConfirmDialog = false;
  }
}

/**
 * 描述：确认框接口定义
 * 作者：oyjl
 * 时间：2020-04-29 09:47:20
 */
export interface ConfirmDialog {
  headText: string; // 头部文本
  contentText: string; // 主体内容文本
  contentIcon?: string; // 主体内容图标
  accept?: () => void; // 确认回调函数
  type: string; // 弹框类型
}
